
#include <iostream>
#include <map>

using namespace std;

/*
构造和插入元素
如果新元素的键是唯一的，则在映射中插入新元素。这个新元素是使用 args 作为构造 value_type（它是对类型的对象）的参数来构造的。

仅当容器中没有其他元素具有与正在放置的键等效的键时，才会进行插入（映射容器中的键是唯一的）。

如果插入，这实际上会将容器大小增加 1。
*/

int main()
{
    map<int, string> m;
    m.emplace(1, "one");
    m.emplace(2, "two");
    m.emplace(3, "three");
    m.emplace(4, "four");
    m.emplace(5, "four");

    for (auto it = m.begin(); it != m.end(); ++it)
    {
        cout << it->first << " " << it->second << endl;
    }
}